package top.yxqz.studyenum;

/**
 * @author Mr.余
 * @date 2022/11/11
 * @package top.yxqz.studyenum
 * 创建了一个枚举类
 * 枚举类中的所有枚举项，都是对象
 * 在枚举类中，如果有多个枚举项（对象）必须用逗号分割,最后一个枚举项可以用分号结尾
 * 枚举项，必须写在枚举类的首行
 * 不能有相同名字的枚举项
 * 枚举项和枚举类，是继承关系
 * 枚举类，就是Enum类的派生
 */
public enum Games  {
    //    声明枚举项
//    PhoneGame,PCGame,HandleGame;
//    使用枚举类的有参构造来设置枚举类中的属性值
    HandleGame(){
        @Override
        public void showGameName() {
            System.out.println("手柄游戏：超级玛丽");
        }
    },

    PCGame("QQ飞车") {

        @Override
        public void showGameName() {
            System.out.println("电脑端玩的游戏是："+gameName);
        }
    },
//    使用枚举项中的自由的属性的值
    PhoneGame() {
        String gameName = "王者荣耀";

        //         实现父类中的抽象方法
        @Override
        public void showGameName() {
            System.out.println("当前我玩的手游是：" + gameName);
        }
    };


    String gameName;

    public abstract void showGameName();

    Games() {
    }

    Games(String gameName) {
        this.gameName = gameName;
    }
}
